# 如何使用 pandas 库来创建一个包含分类数据的二维数据表格（DataFrame），并将分类变量转换为独热编码（one-hot encoding）
# pandas 库，这是一个强大的数据处理和分析库。它提供了灵活的数据结构来处理结构化数据，如表格数据
import pandas
# 定义了一个包含分类数据的列表 types，其中包含三个类别：'bird'、'cat' 和 'dog'。然后，将这个列表放入字典 d 中，并将其键命名为 'categorical'
types = ['bird','cat','dog', 'cat', 'bird', 'bird']
d = {'categorical': types}
# pandas.DataFrame() 方法将字典 d 转换为一个二维数据表格（DataFrame）。每个键值对在字典中都对应 DataFrame 中的一列
df = pandas.DataFrame(d)
# 打印二维数据
print(df)
# pandas.get_dummies() 方法将分类变量转换为独热编码（one-hot encoding）
# get_dummies() 方法会为每个唯一的分类值生成一个新的二进制列（0 或 1），表示该分类值是否存在。
dfDummies = pandas.get_dummies(df['categorical'], prefix = 'category').astype(int)
# 每一行表示原始数据中的一个样本，每一列表示一个类别。如果某个样本属于某一类别，则对应的列为 1，否则为 0。
print(dfDummies)
# 打印出独热编码后的 DataFrame 的数值数组
print(dfDummies.values)